bitkeeper revision 1.620 (3fbd2125rSiOA8VTBAprJYzUwu-e6w)
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Thu, 20 Nov 2003 20:16:37 +0000 (20:16 +0000)
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Thu, 20 Nov 2003 20:16:37 +0000 (20:16 +0000)
xc_py.c:
  Clean up one method on error return.

tools/xc/py/xc_py.c

index 099f1878d9463a19dfa2c4e1d1c5efe6d370e8b8..0438c6136907b83da79e97ecf4d562e57a766093 100644 (file)
@@ -439,7 +439,6 @@ static PyObject *pyxc_readconsolering(PyObject *self,
                                       PyObject *kwds)
 {
     XcObject *xc = (XcObject *)self;
-    PyObject *pystr = Py_None;
 
     unsigned int clear = 0;
     char         str[32768];
@@ -452,10 +451,7 @@ static PyObject *pyxc_readconsolering(PyObject *self,
 
     ret = xc_readconsolering(xc->xc_handle, str, sizeof(str), clear);
 
-    if ( ret > 0 )
-        pystr = PyString_FromString(str);
-    
-    return pystr;
+    return PyString_FromStringAndSize(str, (ret < 0) ? 0 : ret);
 }
 
 static PyMethodDef pyxc_methods[] = {